home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 03 Demos and Info / RAMAP3.ASC < prev    next >
Encoding:
Text File  |  2019-04-13  |  11.0 KB  |  357 lines

  1. !           -------------
  2. !           C-128 RAM`MAP
  3. !           -------------
  4. !
  5. !           By James Hermann
  6. !               74576.711
  7. !
  8. !With Help From-
  9. !
  10. !             Allen Yoder/SCOPE
  11. !             Dave Haynie/Commodore
  12. !                  76703.2047
  13. !
  14. !0002-0089    BASIC Zero Page
  15. ! 0002-0009   Temp. Storage-BANK;<PC;
  16. !             >PC;ST;A;X;Y;P from CPU
  17. !             or code for switch to 64
  18. ! 0009   CHARAC    ;SEARCH CHARACTER
  19. ! 000A   ENDCHR    ;FLAG-SCAN FOR QUOTE
  20. ! 000B   TRMPOS    ;SCR COL / LAST`TAB
  21. ! 000C   VERCHK    ;FLAG- 0=LOAD 1=VER
  22. ! 000D   COUNT     ;INPUT BUF.PTR/ # OF
  23. !                   SUBSCRIPTS
  24. ! 000E   DIMFLAG   ;FLAG- DFLT ARR DIM
  25. ! 000F   VALTYP    ;DATA TYPE-
  26. !                   $FF=STR $00=NUM
  27. ! 0010   INTFLAG   ;DATA TYPE-
  28. !                   $00=FL.PT. $80=INT
  29. ! 0011   GARBFL    ;FLAG- DATA SCAN /
  30. !                   LIST QUOTE/GARB.COL
  31. ! 0011   DORES
  32. ! 0012   SUBFLG    ;FLAG-SUBSCRIPT REF.
  33. !                   / USER FUNC. CALL
  34. ! 0013   INPFLG    ;FLAG- $00=INPUT;
  35. !                   $40=GET; $98=READ
  36. ! 0014   DOMASK
  37. ! 0014   TANSGN    ;FLAG- TAN SIGN /
  38. !                   COMPARISON RESULT
  39. ! 0015             ;CHANNEL`POKER
  40. ! 0016   LINNUM    ;TEMP INTEGER VALUE
  41. ! 0018   TEMPOT    ;PNTR-TEMP STR STACK
  42. ! 0019   LASTPT    ;LAST TEMP STR ADDR
  43. ! 0019   TEMPST    ;STACK FOR TEMP STRS
  44. ! 0024   INDEX     ;UTIL. POINTER AREA
  45. ! 0028   RESHO     ;FL.PT. PROD OF MULT
  46. ! 0029   RESMOH
  47. ! 002A   ADDEND
  48. ! 002A   RESMO
  49. ! 002B   RESLO
  50. ! 002D-003C   BASIC memory vectors
  51. !  002D       Start of BASIC Pgm RAM(0)
  52. !  002F       Start of Var.$0400 RAM(1)
  53. !  0031       Start of Arrays    RAM(1)
  54. !  0033       End of Arrays + 1  RAM(1)
  55. !  0035       Bottom of Strings  RAM(1)
  56. !  0037       Lowest String vctr RAM(1)
  57. !  0039       Top of Strings     RAM(1)
  58. !  003B  CURLIN    ;CURR. BASIC LINE #
  59. ! 003D   TXTPTR    ;PNTR TO BASIC TXT
  60. ! 003F   FORM      ;USED BY PRINT USING
  61. ! 003F   FNDPNT    ;POINTER TO ITEM
  62. !                   FOUND BY SEARCH
  63. ! 0041   DATLIN    ;CURRENT DATA LINE#
  64. ! 0043   DATAPTR   ;CURRENT DATA ADDR
  65. ! 0045   INPPTR    ;VECTOR-INPUT ROUT.
  66. ! 0047   VARNAM    ;CURR BASIC VAR NAME
  67. ! 0049   FDECPT
  68. ! 0049   VARPNT    ;POINTER- CURRENT
  69. !                   BASIC VARIABLE DATA
  70. ! 004B   LSTPNT
  71. ! 004B   ANDMSK
  72. ! 004B   FORPNT    ;POINTER- INDEX
  73. !                   VARIABLE FOR/NEXT
  74. ! 004C   EORMSK    =FORPNT+1
  75. ! 004D   VARTXT
  76. ! 004D   OPPTR
  77. ! 004F   OPPMASK
  78. ! 0050   GRBPNT
  79. ! 0050   TEMPF3
  80. ! 0050   DEFPNT
  81. ! 0052   DSCPNT
  82. ! 0055   HELPER
  83. ! 0056   JMPER
  84. ! 0058   OLDOV
  85. ! 0059   TEMPF1
  86. !        PTARG1    =TEMPF1  ;MULTIPLY
  87. !                  DEFINED FOR INSTR
  88. !        PTARG2    =TEMPF1+2
  89. !        STR1      =TEMPF1+4
  90. !        STR2      =TEMPF1+7
  91. !        POSITN    =TEMPF1+10
  92. !        MATCH     =TEMPF1+11
  93. ! 005A   ARYPNT
  94. ! 005A   HIGHDS
  95. ! 005C   HIGHTR
  96. ! 005E   TEMPF2
  97. ! 005F   DECCNT
  98. ! 0061   GRBTOP
  99. ! 0061   DPTFLG
  100. ! 0061   LOWTR
  101. ! 0062   EXPSGN
  102. !        TENEXP    =DECCNT+1
  103. ! 0063   FAC
  104. ! 0063   DSCTMP
  105. ! 0063   LEFTFLAG  ;PAINT-LEFT FLAG
  106. ! 0063   FACEXP    ;FAC#1 EXPONET
  107. ! 0064   RIGHTFLAG ;PAINT-RIGHT FLAG
  108. ! 0065   FACMOH
  109. ! 0066   INDICE
  110. ! 0066   FACMOH
  111. ! 0067   FACMO
  112. ! 0068   FACSGN    ;POINTER-
  113. !                   SERIES-EVAL. CONST.
  114. ! 0069   DEGREE
  115. ! 0069   SGNFLG    ;POINTER-
  116. !                   SERIES-EVAL. CONST.
  117. ! 006A   ARGEXP    ;FAC#2 EXPONET
  118. ! 006B   ARGHO     ;FAC#2 MANTISSA
  119. ! 006C   ARGMOH
  120. ! 006D   ARGMO
  121. ! 006E   ARGLO
  122. ! 006F   ARGSGN    ;FAC#2 SIGN
  123. ! 0070   STRNG1
  124. ! 0070   ARISGN    ;SIGN COMPARISON
  125. !                   RESOUL;FAC#1 VS #2
  126. ! 0071   FACOV     ;FAC#1 LOW-ORDER
  127. !                   (ROUNDING)
  128. ! 0072   STRNG2
  129. ! 0072   POLYPT
  130. ! 0072   CURTOL
  131. ! 0072   FBUFPT    ;PNTR; CASS. BUFFER
  132. ! 0074   AUTINC    ;INC. VAL FOR AUTO
  133. !                   (0=OFF)
  134. ! 0076   MVDFLG    ;FLAG IF 10K HIRES
  135. ! 0077   NOZE      ;USING LEAD ZERO CT
  136. ! 0077   SPRNUM    ;MOVSPR&SPRITE TEMP
  137. ! 0077   KEYNUM
  138. ! 0078   HULP      ;COUNTER
  139. ! 0078   KEYSIZ
  140. ! 0079   SYNTMP    ;TEMP FOR IND LOADS
  141. ! 007A   DSDEC     ;DESCRIPTOR FOR DS$
  142. ! 007D   TOS       ;TOP / RUNTIME STACK
  143. ! 007F   RUNMOD    ;FLAG-RUN/DIR. MODE
  144. ! 0080   PARSTS    ;DOS PARSER ST WORD
  145. ! 0080   POINT     ;USING PNTR/DEC.PT.
  146. ! 0081   PARSTX
  147. ! 0082   OLDSTK    ;GRAPHIC ZP STORAGE
  148. ! 0083   COLSEL    ;CURRENT COLOR
  149. ! 0084   MULTICOLOR1
  150. ! 0085   MULTICOLOR2
  151. ! 0086   FOREGROUND
  152. ! 0087   SCALEX   ;SCALE FACTOR IN X
  153. ! 0089   SCALEY   ;SCALE FACTOR IN Y
  154. ! 008B   STOPNB   ;STOP PAINT IF NOT
  155. !                  B.G./SAME COLOR
  156. ! 008C   GRAPNT
  157. ! 008E   VTEMP1
  158. ! 008F   VTEMP2
  159. !0090-00FF    KERNAL Zero Page
  160. ! 0090   STATUS   ;I/O OPER STAT BYTE
  161. ! 0091       Flag; STOP key
  162. ! 0092   SVXT      ;TAPE TEMPORARY
  163. ! 0093   VERCK     ;LOAD OR VERIFY FLAG
  164. ! 0094   C3P0      ;SER. BUFFERED CHAR
  165. ! 0095   BSOUR     ;CHAR BUF FOR SERIAL
  166. ! 0096   SYNO      ;CASS SYNC BUFFER
  167. ! 0097   XSAV      ;TEMP FOR BASIN
  168. ! 0098        No. of open files
  169. ! 0099        Default Input Device(0)
  170. ! 009A        Default Output Device(3)
  171. ! 009B   PRTY      ;CASSETTE PARITY
  172. ! 009C   DPSW      ;CASS.DIPOLE SWITCH
  173. ! 009D   MSGFLG    ;OS MESSAGE FLAG
  174. ! 009E   PTR1      ;CASS. ERROR PASS 1
  175. ! 009E   T1        ;TEMP 1
  176. ! 009F   PTR2      ;CASS. ERROR PASS 2
  177. ! 009F   T2        ;TEMP 2
  178. ! 00A0-00A2   Jiffy Clock
  179. ! 00A3   R2D2      ;SERIAL BUSS USAGE
  180. ! 00A3   PCNTR     ;CASSETTE STUFF
  181. ! 00A4   BSOUR1    ;TEMP/SERIAL ROUTINE
  182. ! 00A4   FIRT
  183. ! 00A5   COUNT     ;TEMP/SERIAL ROUTINE
  184. ! 00A5   CNTDN     ;CASS.SYNC COUNTDOWN
  185. ! 00A6   BUFPT     ;CASS.BUFFER POINTER
  186. ! 00A7   INBIT     ;RS232 RCVR IN. BIT
  187. ! 00A7   SHCN1     ;CASS. SHORT COUNT
  188. ! 00A8   BITCI     ;RS232 RCVR BIT CNT
  189. ! 00A8   RER       ;CASSETTE READ ERROR
  190. ! 00A9   RINONE    ;RS-232 RCVR FL FOR
  191. !                   START BIT CHECK
  192. ! 00A9   REZ       ;CASS READING ZEROS
  193. ! 00AA   RIDATA    ;RS232 RCVR BYTE BUF
  194. ! 00AA   RDFLG     ;CASSETTE READ MODE
  195. ! 00AB   RIPRTY    ;RS232 REVR PARITY
  196. ! 00AB   SHCNH     ;CASS. SHORT COUNT
  197. ! 00AC   SAL       ;POINTER - TAPE
  198. !                   BUF./SCREEN SCROLL
  199. ! 00AD   SAH
  200. ! 00AE   EAL       ;TAPE END ADDRESSES/
  201. !                   END OF PROGRAM
  202. ! 00AF   EAH       ;
  203. ! 00B0   CMP0      ;TAPE TIME CONST.
  204. ! 00B1   TEMP
  205. ! 00B2-00B3   Tape Buffer vector
  206. ! 00B4   BITTS     ;RS-232 TRNS BIT CNT
  207. ! 00B4   SNSWL
  208. ! 00B5   NXTBIT    ;RS232 TRNS NEXT BIT
  209. ! 00B5   DIFF
  210. ! 00B6   RODATA    ;RS232 TRNS BYTE BUF
  211. ! 00B6   PRP       ;
  212. ! 00B7        LEN of current filename
  213. ! 00B8        Current File No.
  214. ! 00B9        Current Sec. Addr.
  215. ! 00BA        Current Device No.
  216. ! 00BB-00BC   Filename address
  217. ! 00BD   ROPRTY    ;RS232 TRNS PARITY
  218. ! 00BD   OCHAR     ;
  219. ! 00BE   FSBLK     ;CASS READ BLOCK CNT
  220. ! 00BF   DRIVE
  221. ! 00BF   MYCH      ;SERIAL WORD BUFFER
  222. ! 00C0   CASL      ;CASSETTE
  223. !        MANUAL/CONTROLLED SWITCH (IRQ)
  224. ! 00C1   TRACK
  225. ! 00C1   STAL      ;IO START ADDR (<LB)
  226. ! 00C2   STAH      ;IO START`ADDR (>HB)
  227. ! 00C3-4 MEMUSS    ;CASS LOAD TEMPS
  228. ! 00C3   TMP2
  229. ! 00C5   DATA      ;TAPE READ WRITE DATA
  230. ! 00C6   BA        ;BANK FOR CURRENT
  231. ! 00C7   FNBANK    ;BANK OF FILENAME
  232. ! 00C8   RIBUF     ;RS232 INPUT BUF PTR
  233. ! 00CA   ROBUF     ;RS232 OUTPUT BUF PTR
  234. ! 00CC   KEYTAB    ;KEYSCAN TABLE PTR
  235. ! 00CE   IMPARM    ;PRIM UTIL STRG CNTR
  236. ! 00D0   NDX       ;INDEX/KEYBOARD QUE
  237. ! 00D1   KYNDX     ;PENDING FUNCTION KEY
  238. ! 00D2   KEYIDX    ;INDEX TO PENDING
  239. !                   FUNCTION KEY STRING
  240. ! 00D3   SHFLAG    ;SHIFT KEY STATUS
  241. ! 00D4   SFDX      ;CURRENT KEY INDEX
  242. ! 00D5   LTSX      ;LAST KEY INDEX
  243. ! 00D6   CRSM      ;(CR) INPUT FLAG
  244. ! 00D7   MODE      ;40/80 COLUMN MODE
  245. ! 00D8   GRAPHM    ;TEXT GRAPHIC MODE
  246. ! 00D9   CHAREN    ;RAM/ROM VIC CHAR
  247. !                   FETCH FLAG
  248. !;THE FOLLOWING LOCATIONS ARE SHARED BY
  249. ! SEVERAL`ROUTINES
  250. !;00DA    SEDSAL    ;PNTR FOR MOVELINE
  251. ! 00DC    SEDEAL    ;
  252. ! 00DE    SEDT1     ;SAVPOS
  253. ! 00DF    SEDT2     ;
  254. !;00DA    KEYSIZ    ;PROG KEY VAR
  255. ! 00DB    KEYLEN    ;
  256. ! 00DC    KEYNUM    ;
  257. ! 00DD    KEYNXT    ;
  258. ! 00DE    KEYBNK    ;
  259. ! 00DF    KEYTMP    ;
  260. !;00DA    BITMSK    ;TEMP/TAB&LINE WRAP
  261. ! 00DB    SAVER     ;YET ANOTHER TEMP
  262. ! 00DE-00DF         ;LOCAL SCR EDIT VAR
  263. !                   (40/80 MODE CHANGE)
  264. !;00E0              ;PNTRS FOR SCR ED
  265. !;00FF              ;END OF SCR ED VAR
  266. !0100-01FF    CPU Stack
  267. ! 0100-010F    F BUFFER
  268. !  0100           ;BASIC DOS INTRFC VAR
  269. ! 0110-0148    BASIC DOS Using
  270. !  0124            ;END OF DOS VARS
  271. !  0125-0138       ;SPACE FOR PRT USING
  272. !0200-02A1    BASIC and MON input buf
  273. !02A2-02FB    KERNAL RAM Code
  274. ! 02A2-02AE   LDA ($ZP);y for MMU=x
  275. !  02AA       Zero-Page indirect addr
  276. ! 02AF-02BD   STA ($ZP);y for MMU=x
  277. !  02B9       Zero-Page indirect addr
  278. ! 02BE-02CC   CMP ($ZP);y for MMU=x
  279. !  02C8       Zero-Page indirect addr
  280. ! 02CD-02CF   JSR $02E3
  281. ! 02D0-02E2   Store CPU reg. in $02-09
  282. ! 02E3-02FB   RTI based on $02-09
  283. !02FC-033B    Indirect vectors-unknown
  284. ! 0300        Print BASIC Message 4D3F
  285. ! 0302        BASIC Warm Start    4DC6
  286. ! 0304        Tokenize BASIC Text 430D
  287. ! 0306        BASIC Text LIST     5151
  288. ! 0308        BASIC Char Dispatch 4AA2
  289. ! 030A        BASIC Token Eval.   78DA
  290. ! 030C-0310   Unknown vectors
  291. ! 0314        IRQ Hardware int.   FA65
  292. ! 0316        BRK interrupt       B003
  293. ! 0318        NMI Non-Mask. Int.  FA40
  294. ! 031A        OPEN                EFBD
  295. ! 031C        CLOSE               F188
  296. ! 031E        CHKIN               F106
  297. ! 0320        CHKOUT              F14C
  298. ! 0322        CLRCHN              F226
  299. ! 0324        CHRIN               EF06
  300. ! 0326        CHROUT              EF79
  301. ! 0328        STOP                F66E
  302. ! 032A        GETIN               EEEB
  303. ! 032C        CLALL               F222
  304. ! 032E        User-Defined        B006
  305. ! 0330        LOAD                F26C
  306. ! 0332        SAVE                F54E
  307. ! 0334-0348   KERNAL vectors
  308. !  0334  CTLVAC   ;EDIT;PRINT'CNTRL'IND
  309. !  0336  SHFVAC   ;ED;PRINT'SHIFTED'IND
  310. !  0338  ESCVAC   ;ED;PRINT'ESCAPE'IND
  311. !  033A  KEYVAC   ;ED;KEYSCAN LOGIC IND
  312. !033C-037F    KERNAL Tables
  313. !0380-03FF    BASIC RAM Code
  314. ! 0380-039E   BASIC CHRGET routine
  315. ! 039F-03D1   misc. LDA routines
  316. !0400-04FF    VIC Text Screen (VM #1)
  317. !0800-09FF    BASIC Run-Time Stack
  318. !0A00-0AFF    MON & KERNAL Abs. Var.
  319. ! 0A00-0A01   BASIC Cold Start 4000/3
  320. ! 0A02        RAM Init. if =$A5
  321. ! 0A04        BASIC init. if bit 0 set
  322. ! 0A20-           ;GLOBAL ABS SCR DECL
  323. ! 0A80-0AB4       ;MONITORS DOMAIN
  324. ! 0AC0        Number of Int./Ext. ROM's
  325. ! 0AC1-0AC4   Active ROM flags
  326. !0B00-0BBF    Cassette Buffer
  327. !0BC0-0BFF    (Disk Boot Page)
  328. !0C00-0CFF    RS-232 Input Buffer
  329. !0D00-0DFF    RS-232 Output Buffer
  330. !0E00-0FFF    Sprite Definition Area
  331. !1000-10FF    Function Key Buffer
  332. ! 1000-1009   # of bytes per key
  333. ! 100A-       Function Key strings
  334. !1100-1107    CP/M Reset Code
  335. !1108-11FF    BASIC DOS/VSP Variables
  336. !1200-12FF    BASIC Absolute Variables
  337. ! 117A-122A   Misc. vectors
  338. !  1210       End of BASIC Program
  339. !1300-13FF    ?
  340. !1400-17FF    Resv./Foreign Lang. Sys.
  341. !1800-1BFF    Resv./Function Key ML
  342. !1C00-FEFF    BASIC Program Area or
  343. ! 1C00-1FFF   VIC BIT-MAP Color (VM #2)
  344. ! 2000-3FFF   VIC BIT-MAP Screen
  345. ! 4000-FEFF   BASIC Program Area(con't)
  346. !FF05-FF44    KERNAL Dispatch Code
  347. !FFD0-        CP/M and KERNAL RAM Code
  348. !FFFA-FFFF    NMI;RST; and IRQ vectors
  349. !
  350. !****RAM(1)****
  351. !
  352. !0000-03FF    Common with RAM(0)
  353. !0400-FEFF    BASIC Variable Storage
  354. !FF05-FF44    KERNAL Int. Dispatch Code
  355. !FFF5-FFF9    "cbm" and RST addr $E224
  356. !FFFA-FFFF    NMI;RST; and IRQ vectors
  357.